It has been proposed to use programmable resistive elements in memory cells to provide non-volatile data storage. Such resistive elements are programmable to adopt one of two different resistive states. The programmed resistive state is maintained even when a supply voltage of the memory cell is disconnected, and thus data can be stored by such elements in a non-volatile fashion.
Various types of resistive elements have been proposed, some of which are capable of being programmed by the direction of a current that is passed through the resistive element. An example of such a current-programmable resistive element is an STT (spin transfer torque) element, which is based on magnetic tunnelling junctions (MTJs).
A difficulty with the use of resistive elements for data storage is that read and write operations tend to be relatively slow, leading to a high access time with respect to a standard volatile memory such as an SRAM (static random access memory). To overcome this difficulty, it has been proposed to provide, in each memory cell, circuitry for programming the state of the resistive element and for reading, amplifying and storing a programmed resistive state. However, while such a solution leads to an improvement in access times, the surface area used by each memory cell, and the power consumption, tend to be high.
There is thus a need in the art for a non-volatile memory array having relatively low access times and/or a reduced surface area with respect to existing non-volatile memories.